﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using GrammarGenericSolver.Model;
namespace GrammarGenericSolver.ADS
{
    /// <summary>
    /// Classe abstrata pai da raíz e do node.
    /// </summary>
    public abstract class VirtualNode
    {
        private string _identifier;

        /// <summary>
        /// Identificador do nó.
        /// </summary>
        public string Identifier
        {
            get { return _identifier; }
            set { _identifier = value; }
        }

        private Symbol _symbol;

        /// <summary>
        /// Símbolo, caso o nó só possua um símbolo.
        /// </summary>
        public Symbol Symbol
        {
            get { return _symbol; }
            set { _symbol = value; }
        }

        public VirtualNode(string Identifier, Symbol symbol)
        {
            this.Identifier = Identifier;
            this.Symbol = symbol;
        }
    }
}
